package ar.edu.unrn.lia.service;

import ar.edu.unrn.lia.model.Alquiler;
import ar.edu.unrn.lia.model.AlquilerCuota;
import ar.edu.unrn.lia.model.Cuenta;
import ar.edu.unrn.lia.model.Movimiento.TipoMovimiento;
import ar.edu.unrn.lia.service.exception.BusinessException;


public interface ContableService {

	public void pagarCuota(Alquiler alquiler, AlquilerCuota cuota, Integer montoPagar,String usuario) throws BusinessException;
	
	public Integer ultimoAsiento();
	
	public Integer generarMovimientosPreIngreso(Alquiler alquiler) throws BusinessException;
	
	public void pagarCuotaPreIngreso(Alquiler alquiler, Double montoPago,String usuario) throws BusinessException;
	
	public void cambiarEstadoCuotaVencida() throws BusinessException;
	
	public void asientoSimple(Cuenta cuenta, TipoMovimiento tipoMovimiento, String concepto, Double monto) throws BusinessException;
	
	public void asientoSimple(Cuenta cuenta, TipoMovimiento tipoMovimiento, String concepto, Double monto, Integer asiento) throws BusinessException;
	
	public Double tasaInteresFechaHoy() throws BusinessException;
	
	public Double intereses(AlquilerCuota alquilerCuota) throws BusinessException;
}